Release Notes for MPLAB® REAL ICE In-Circuit Emulator

MPLAB® IDE v7.50

MPLAB REAL ICE DLL v1.01

MPLAB REAL ICE Suite (OS, FW) v1.11

November 3, 2006

Table of Contents

1      Device Support List - Debug and Program

2      Operating System Support List

3      Reference Documents

4      What's New/Updated

5      USB Port Setup

6      Powering the Emulator and Target Board

7      Setting Up the Emulator and Target Board

8      Device Programming Considerations

9      Known Problems

10     Important Notes

11     Reserved Resources

12     Durability/Insertion Life Cycle of the Card Guide

1         Device Support List

1.1        Debugger - Full Support

dsPIC30F2010(2)

dsPIC30F4012(2)

dsPIC30F6011A(2)

dsPIC30F2011(2)

dsPIC30F4013(2)

dsPIC30F6012(2)

dsPIC30F2012(2)

dsPIC30F5011(2)

dsPIC30F6012A(2)

dsPIC30F3010(2)

dsPIC30F5013(2)

dsPIC30F6013(2)

dsPIC30F3011(2)

dsPIC30F5015(2)

dsPIC30F6013A(2)

dsPIC30F3012(2)

dsPIC30F5016(2)

dsPIC30F6014(2)

dsPIC30F3013(2)

dsPIC30F6010(2)

dsPIC30F6014A(2)

dsPIC30F3014(2)

dsPIC30F6010A(2)

dsPIC30F6015(2)

dsPIC30F4011(2)

dsPIC30F6011(2)

 

 

 

 

dsPIC33FJ128GP706(1)(3)

dsPIC33FJ128MC710(1)(3)

dsPIC33FJ64GP708(1)(3)

dsPIC33FJ128GP708(1)(3)

dsPIC33FJ256GP710(1)(3)

dsPIC33FJ64GP710(1)(3)

dsPIC33FJ128GP710(1)(3)

dsPIC33FJ256MC710(1)(3)

dsPIC33FJ64MC506(1)(3)

dsPIC33FJ128MC506(1)(3)

dsPIC33FJ64GP206(1)(3)

dsPIC33FJ64MC508(1)(3)

dsPIC33FJ128MC706(1)(3)

dsPIC33FJ64GP310(1)(3)

dsPIC33FJ64MC510(1)(3)

dsPIC33FJ128MC708(1)(3)

dsPIC33FJ64GP706(1)(3)

dsPIC33FJ64MC706(1)(3)

 

 

 

PIC24FJ128GA006(1)

PIC24FJ64GA006(1)

PIC24FJ96GA006(1)

PIC24FJ128GA008(1)

PIC24FJ64GA008(1)

PIC24FJ96GA008(1)

PIC24FJ128GA010(1)

PIC24FJ64GA010(1)

PIC24FJ96GA010(1)

 

 

 

PIC24HJ128GP206(1)

PIC24HJ256GP206(1)

PIC24HJ64GP506(1)

PIC24HJ128GP306(1)

PIC24HJ256GP610(1)

PIC24HJ64GP510(1)

PIC24HJ128GP310(1)

PIC24HJ64GP206(1)

 

PIC24HJ128GP506(1)

PIC24HJ64GP210(1)

 

1.2        Debugger - Beta Support

dsPIC30F1010(2)

 

 

dsPIC30F2020(2)

 

 

dsPIC30F2023(2)

 

 

 

 

 

dsPIC33FJ128GP206(1)(3)

dsPIC33FJ128MC510(1)(3)

dsPIC33FJ256MC510(1)(3)

dsPIC33FJ128GP306(1)(3)

dsPIC33FJ256GP506(1)(3)

dsPIC33FJ64GP306(1)(3)

dsPIC33FJ128GP310(1)(3)

dsPIC33FJ256GP510(1)(3)

dsPIC33FJ64MC710(1)(3)

 

 

 

PIC24HJ128GP210(1)

 

 

PIC24HJ128GP510(1)

 

 

PIC24HJ256GP210(1)

 

 

1.3        Programmer - Full Support

dsPIC30F2010(2)

dsPIC30F4012(2)

dsPIC30F6011A(2)

dsPIC30F2011(2)

dsPIC30F4013(2)

dsPIC30F6012(2)

dsPIC30F2012(2)

dsPIC30F5011(2)

dsPIC30F6012A(2)

dsPIC30F3010(2)

dsPIC30F5013(2)

dsPIC30F6013(2)

dsPIC30F3011(2)

dsPIC30F5015(2)

dsPIC30F6013A(2)

dsPIC30F3012(2)

dsPIC30F5016(2)

dsPIC30F6014(2)

dsPIC30F3013(2)

dsPIC30F6010(2)

dsPIC30F6014A(2)

dsPIC30F3014(2)

dsPIC30F6010A(2)

dsPIC30F6015(2)

dsPIC30F4011(2)

dsPIC30F6011(2)

 

 

 

 

dsPIC33FJ128GP706(1)(3)

dsPIC33FJ128MC710(1)(3)

dsPIC33FJ64GP708(1)(3)

dsPIC33FJ128GP708(1)(3)

dsPIC33FJ256GP710(1)(3)

dsPIC33FJ64GP710(1)(3)

dsPIC33FJ128GP710(1)(3)

dsPIC33FJ256MC710(1)(3)

dsPIC33FJ64MC506(1)(3)

dsPIC33FJ128MC506(1)(3)

dsPIC33FJ64GP206(1)(3)

dsPIC33FJ64MC508(1)(3)

dsPIC33FJ128MC706(1)(3)

dsPIC33FJ64GP310(1)(3)

dsPIC33FJ64MC510(1)(3)

dsPIC33FJ128MC708(1)(3)

dsPIC33FJ64GP706(1)(3)

dsPIC33FJ64MC706(1)(3)

 

 

 

PIC24FJ128GA006(1)

PIC24FJ64GA006(1)

PIC24FJ96GA006(1)

PIC24FJ128GA008(1)

PIC24FJ64GA008(1)

PIC24FJ96GA008(1)

PIC24FJ128GA010(1)

PIC24FJ64GA010(1)

PIC24FJ96GA010(1)

 

 

 

PIC24HJ128GP206(1)

PIC24HJ256GP206(1)

PIC24HJ64GP506(1)

PIC24HJ128GP306(1)

PIC24HJ256GP610(1)

PIC24HJ64GP510(1)

PIC24HJ128GP310(1)

PIC24HJ64GP206(1)

 

PIC24HJ128GP506(1)

PIC24HJ64GP210(1)

 

1.4        Programmer - Beta Support

dsPIC30F1010(2)

 

 

dsPIC30F2020(2)

 

 

dsPIC30F2023(2)

 

 

 

 

 

dsPIC33FJ128GP206(1)(3)

dsPIC33FJ128MC510(1)(3)

dsPIC33FJ256MC510(1)(3)

dsPIC33FJ128GP306(1)(3)

dsPIC33FJ256GP506(1)(3)

dsPIC33FJ64GP306(1)(3)

dsPIC33FJ128GP310(1)(3)

dsPIC33FJ256GP510(1)(3)

dsPIC33FJ64MC710(1)(3)

 

 

 

PIC24HJ128GP210(1)

 

 

PIC24HJ128GP510(1)

 

 

PIC24HJ256GP210(1)

 

 

Notes:

(1) PIC24F/H MCUs and dsPIC33F DSCs: See section 8 for special device programming considerations to avoid damage to devices.

(2) dsPIC30F DSCs: Cannot use real-time data capture or Capture trace with these devices.

(3) dsPIC33F RevA1 DSCs: Cannot use trace on Ports C and D.

2         Operating System Support List

This tool has been tested using the following operating systems:

Windows 2000 SP4, Windows XP SP2

NOTE: Windows NT/98/ME are NOT supported.

3         Reference Documents

The following documents may be found on our website or MPLAB IDE CD-ROM:

·         MPLAB REAL ICE In-Circuit Emulator Setup (DS51615)

·         MPLAB REAL ICE In-Circuit Emulator User's Guide (DS51616)

·         Header Board Specification (DS51292)

·         Transition Socket Specification (DS51194)

On-line help (Help>Topics) is also available for this tool:

·         Debuggers>MPLAB REAL ICE - hlpMPLABREALICE.chm

4         What's New/Updated

·         Bug fixes

4.1        What's New/Updated in v1.00

This is the first release of this tool. Features include:

·         Standard communications (MPLAB ICD 2 compatible)

·         Optional high-speed communications (Performance Pak)

·         Basic debugging with advanced breakpoints

·         Real-time data capture triggers and Capture trace

o        Standard comm. to 20 MIPS

o        High-speed comm. to 40 MIPS

·         External triggers and I/O Port trace

·         Trace available for C code applications - assembly applications not yet supported.
Note: MPLAB C30 v2.04 and greater needed for trace.

 

Please see Reference Documents for feature details.

5         USB Port Setup

Installation and setup instructions are dependent on your operating system. Open the appropriate file for your OS in a web browser and follow the instructions to install the driver(s).

USB 2.0 is recommended for use with these drivers. USB 1.1 may be used but may result in reduced performance.

Note: If you change emulator units or PC USB ports, you will need to reinstall the drivers.

Win 2000/XP
C:\Program Files\Microchip\MPLAB IDE\REALICE\Drivers\ddri.htm

6         Powering the Emulator and Target Board

The MPLAB REAL ICE emulator is powered through its USB connection to the PC.

The target board is powered from its own supply. The emulator cannot provide power to the target board.

7         Setting Up the Emulator and Target Board

1.       Install the USB drivers on your PC, as discussed above (USB Port Setup). When this is complete, MPLAB REAL ICE emulator should be plugged into a USB port of the PC.

2.       If you have not already done so, connect to a target, either directly or through a header board. See on-line help or the user's guide for ways to connect the emulator to a target board.

3.       Power the target.

4.       Start MPLAB IDE.

5.       In MPLAB IDE, select either Debugger>Select Tool>REAL ICE or Programmer>Select Programmer>REAL ICE. The emulator will automatically connect.  Also, the emulator can automatically detect if it has been disconnected/reconnected and if the target has been disconnected/reconnected.

6.       The emulator will now be ready for use.

8         Device Programming Considerations

The Programming Specifications for PIC24F/H MCUs, and dsPIC33F DSCs indicate that when programming these devices, bulk erase commands should be issued between successive programming operations, i.e., erase, then program, then erase, then program, etc. Therefore, Microchip advises against multiple-stage programming sessions which may fail to verify. For example, you should NOT do the following sequence with these parts:

  1. load and program a particular hex file
  2. load a second hex file
  3. disable erase-all-before-programming
  4. specify an address sub-range
  5. program the device

9         Known Problems

The following is a list of known problems. For information on common problems, error messages and limitations, please see Troubleshooting in the online help file for the MPLAB REAL ICE emulator (hlpMPLABREALICE.chm). SSRs are system service requests.

9.1        Communication Issues

·         Do not connect to more than one MPLAB REAL ICE unit at a time or attempt to connect two MPLAB IDE sessions to the MPLAB REAL ICE emulator.

·         If you do not use the included cables, make sure the cables you do use are:

·         not longer than 6 inches for standard communications or errors could result

·         USB 2.0 compliant if you will be using USB 2.0 communications

9.2        General Issues

·         Running a data capture at greater than 16 MIPS may result in a bad header error. At higher speeds decrease the number of data capture points or the frequency of the capture. For example create a trigger on a temporary variable that gets changed ever nth cycle.

·         Using the USB connection on a laptop PC with suspend mode enabled will lock up the emulator if suspend mode is entered. Unplug the USB cable from the MPLAB REAL ICE emulator and then plug the cable back in to resume debugging. You may want to disable suspend mode while using the emulator. From Control Panel, select "Power Options" and disable suspend mode.

·         The MPLAB REAL ICE emulator may not operate on a dual processor platform in dual processor mode. It is recommended that you change the application properties for the emulator to single processor mode.

9.3         Related SSRs

SSR 29197: When logging a value, you may get this error message in the output window:  "Unrecognized trace data format received" after the run has been performed. The work-around is to reset and re-run.

SSR 29271: Sometimes the source code is not being updated with the id values from the __LOG and/or __TRACE.  The work-around is to close and reopen the source file.

SSR 29399: PIC24F devices can start to run after programming but before verification. This can result in a verification failure if the code performs self-write to either program memory or Data EE.

SSR 29511: dsPIC30F3013- Programming issues with emulator as debugger.

10    Important Notes

·         When using real-time data capture trigger or Capture trace, standard communication can only provide a data rate of 20 MIPS. For speeds up to 40 MIPS, high-speed communication will be required, via the Performance Pak.

·         When using I/O Port trace, make sure multiplexed device port pins are set as I/O pins.

·         When adding/removing Capture or I/O Port trace points, you must rebuild the project (Build All) and reprogram the device. When switching the Build Configuration (Debug/Release), you must rebuild the project and reprogram the device.

·         When running in debug mode, selecting Debugger>Reset resets the program, goes to the zero location, and halts. The program does not automatically re-run.

·         If porting an existing project using MPLAB ICD 2 to the MPLAB REAL ICE emulator, you must do the following:

·         Select Project>Build Options>Project. When the dialog opens, click OK. (This is necessary to save new Build Options in the project. Previously there had been a checkbox option for "Link for ICD2" on the MPLAB LINK30 tab. This is now gone and has been replaced by a drop-down option on the Project Manager toolbar.)

·         On the Project Manager toolbar, select "Debug" from the Build Configurations drop-down list.

·         Rebuild the project (Build All).

·         USB hubs must be powered.

·         Make sure that table reads/writes are not code protected.

·         At low Vdd, bulk erase will not erase code protect bits.

10.1    16-Bit Devices

1.       RB0 and RB1 pins:
If the MPLAB REAL ICE emulator is selected as a debugger, it initializes all the A/D input pins - AN0 (RB0) through AN15 (RB15) pins - as "digital" pins, by setting all 16 bits in the ADPCFG register.

  1. If you have selected a pair of "debug pins" (EMUD/EMUC, EMUD1/EMUC1, EMUD2/EMUC2 or EMUD3/EMUC3) that are multiplexed with A/D input pin functions on the particular dsPIC30f device being used, then you must never clear the bits in the ADPCFG register that correspond to those A/D pins.

For example, if EMUD3 and EMUC3 are used as the debug pins on a dsPIC30F2010 device, then bits 0 and 1 of the ADPCFG register must remain set at all times. Similarly, if EMUD and EMUC are used as the debug pins on a dsPIC30F5011 device, then bits 6 and 7 of the ADPCFG register must remain set at all times. In such cases, you must also take proper precaution to isolate the application circuitry from the corresponding A/D pins during debugging.

  1. If your application needs to use certain A/D pins as analog input pins, then your code must clear the corresponding bits in the ADPCFG register during A/D module initialization.

For example, if AN4 and AN5 are required as analog input pins, then bits 4 and 5 of the ADPCFG register must be cleared.

2.       SLEEP, IDLE, WDT, Clock Switching:
For dsPIC devices, debug operations can be executed on programs which use SLEEP or IDLE mode, Watchdog Timer, and/or Clock Switching.

3.       Debug during SLEEP or IDLE Mode:
When the device is in SLEEP and IDLE mode and a Halt command is issued, the MPLAB REAL ICE emulator will wake up the device and halt execution on the instruction immediately following the PWRSAV instruction.

4.       Interrupts:

  1. In general, single-stepping an instruction will not generate an interrupt or trap, because the corresponding interrupt/trap status flag bit would not get set. Essentially, the interrupt or trap condition would be ignored.
  2. However, if the user has explicitly set an interrupt/trap flag bit, either in the user program or by modifying the status flag values in the MPLAB Watch, SFR or File Registers window, then the interrupt/trap would get generated, and the user would be able to single-step into the Interrupt or Trap Service Routine.

5.       Break Point Behavior:
If a break point is set on an instruction that follows a taken branch, the Breakpoint will be triggered even though the branch went elsewhere.

6.       Break Point Behavior and Skidding:
It is possible that a breakpoint halt will exhibit program memory skidding in that the execution stops N instructions after reaching the breakpoint. The following definitions are provided and referred to:

  • One skid  - A breakpoint occurs AFTER the instructions is executed (PC+2)
  • Two skid  - A break point occurs AFTER the NEXT instruction (PC+4)

Break Point Behavior:

  • If a Non-Program-Flow, modifying, Single-Word, Two-Cycle instruction (such as Table or PSV) precedes a break point instruction, then the breakpoint occurs BEFORE the instruction at the breakpoint address is executed (ONE SKID).
  • All other instructions have a "TWO SKID", which means the break occurs AFTER the NEXT instruction is executed.

7.       The CAN module, unlike the other peripherals, does not get frozen in the following situations:

  • during a Halt
  • during a stop on a Breakpoint
  • after a Single-Step

For example, if you set a Breakpoint and run to it, the CAN module continues to run in the background, and it may seem that data transmissions and receptions have completed immediately.

8.       DISICNT register:
In five dsPIC30F devices (dsPIC30F6010, dsPIC30F6011, dsPIC30F6012, dsPIC30F6013 and dsPIC30F6014), since the DISICNT register continues to decrement even when the device is halted by the debugger, the DISICNT value will always be seen as 0x0000 in the Watch, SFR and File Registers windows. To monitor the DISICNT value, add code to copy the DISICNT register contents to a W register or memory location and monitor the value of the corresponding W register or memory location in the Watch, SFR or File Registers window.

9.       ADCMD bit in PMD1 register:
The user application must not set the ADCMD bit (bit 0 of PMD1 register). This would lead to incorrect ICE operation.

10.   SPLIM register:
When using the MPLAB REAL ICE emulator as a Debugger, your software must initialize the Stack Pointer Limit register (SPLIM) before using the stack (device errata).

11.   Single-stepping a DO loop:
In five dsPIC30F devices (dsPIC30F6010, dsPIC30F6011, dsPIC30F6012, dsPIC30F6013 and dsPIC30F6014), single-stepping through a DO loop in dsPIC30F assembly code results in the loop getting executed one less time than expected.

12.   Multiple Breakpoints:
Up to two breakpoints may be enabled simultaneously on dsPIC30F5011/5013 and dsPIC30F6010/6011/6012/6013/6014 devices.

13.   Pass Counter feature in Advanced Breakpoints:
For a specified Pass count of 'N', the code will break after 'N+1' occurrences of the breakpoint instead of 'N' occurrences.

14.   If you need to use the Fail-Safe Clock Monitor feature on a dsPIC device when using the MPLAB REAL ICE emulator for debugging your application, a Watchdog Timer Device Reset will occur, even if the Watchdog Timer has not been explicitly enabled in the application. To work around this issue, use the "CLRWDT" instruction in the main loop of your application code. This will ensure that the Watchdog Timer gets cleared before it causes the device to reset.

11    Reserved Resources

Due to the built-in in-circuit debugging capability of ICE devices, and the ICSP function offered by the emulator, the MPLAB REAL ICE emulator uses on-chip resources when debugging, i.e., some device resources are reserved for use by emulator.

Refer to the on-line help for the most up-to-date list of resources used by the MPLAB REAL ICE emulator.

12    Durability/Insertion Life Cycle of the Card Guide

The card guide is the part of the emulator pod where the communications board (either standard or high-speed) is inserted into the pod.

SAMTEC

Durability Summary Report

PART DESCRIPTION

MB1-130-01-S-S-02-A1-N

&

MB1-130-01-H-S-02-A1-N

( The “-H” 50u” thick Au Plating is currently non-standard.)

 

SCOPE: To perform the following tests: Durability up to 10,000 cycles.

For the complete report, see:

http://www.samtec.com/technical_specifications/test.asp?series=MB1&menu=STANDARD_PRODUCTS